1. Field of the Invention
Preferred embodiments provide a method, system, and program for implementing an application program graphical use interface (GUI) window.
2. Description of the Related Art
A xe2x80x9cplug-inxe2x80x9d program is a software application program that extends the capabilities of a web browser program. Web plug-ins execute within a browser program and are called to render content of a file type that the browser cannot handle, such as certain audio, video, animation, multimedia, and special image viewing files. When the server informs the web browser of the media type of the object being downloaded, the browser consults its internal tables to see if a plug-in application is provided for the content type. If so, the browser either displays the object inside the browser window, i.e., embeds the window into which the plug-in generates content within the web browser or invokes the plug-in to handle the object as a separate stand-alone program.
The Netscape Navigator web browser from Netscape Communicator integrates the plug-in into the web browser so that the plug-in application appears to be embedded within the displayed web browser user interface.** For instance, instead of invoking the application plug-in to run as a separate stand alone program, the Netscape Navigator browser calls the plug-in internally to play the movie directly within the browser window. Such internally called plug-ins execute within a limited area of execution within the web browser and cannot utilize many of the web browser features outside of their limited area of execution. For instance, movie and audio player programs embedded as plug-ins in a web browser cannot be resized or repositioned as the general web browser window.
Thus, it would be desirable to embed a plug-in into a web browser window to appear integrated with the web browser and allow the plug-in application to implement many of the web browser graphical user interface (GUI) component abilities, such as the capability to resize and reposition the embedded plug-in.
To overcome the limitations in the prior art described above, preferred embodiments disclose a method, system, and program for generating an application graphical user interface (GUI) window used by an executing application program. The application program uses an operating system handle addressing the application GUI window to generate content into the application GUI window. A frame element, including GUI components of the application GUI window is added to a user interface object including GUI components used by a user interface program. Application program interfaces (APIs), generated by the application program, are executed to call the handle to generate content into the application GUI window. Standard APIs that are members of a set of standard API interfaces are received to manipulate the GUI components in the frame element to modify a display of the application GUI window. The standard APIs are converted to user interface APIs. The converted user interface APIs call the frame element to render the application GUI window according to the modifications specified in the standard APIs.
In further embodiments, the user interface program may comprise a web browser program and the application program comprises a plug-in module that provides services and features to the web browser program. Still further, the application GUI window may be generated as embedded in a user interface GUI window. Further, the set of standard API interfaces may be part of the W3C Document Object Model (DOM) specification and the user interface program may implement the W3C DOM.
Preferred embodiments provide a methodology for adding an element, such as an IFRAME element, defining a window used by an application program, such as a plug-in, into a user interface object, such as a web browser DOM tree. This allows the GUI window used by the application program to be manipulated by user interface APIs implementing the W3C APIs. In this way, the rich and varied user interface features of the W3C, such as Cascadable Style Sheets, implemented by the web browser program can be applied to the window in which the plug-in application renders content.